//
// @Auther: by wujehy 
// @Email:wujehy@qq.com
// @Data:2020/9/11
// @Time:3:57 下午
//
//

#ifndef GEEJOAN_CLIENTMODMANAGER_H
#define GEEJOAN_CLIENTMODMANAGER_H

#include "NetworkProtocol.h"
#include <map>
#include <memory>

namespace GeeJoan
{
    class BaseClientMod;

    class ClientModManager
    {
        std::map<ModTypeEnum, BaseClientMod *> m_mod_map;

    public:
        void init();

        void rounte(std::unique_ptr<ResposeDataPackage> hander);

        bool registerModFunc(BaseClientMod *mod, bool auto_del = true);

        virtual ~ClientModManager();
    };
}

#endif //GEEJOAN_CLIENTMODMANAGER_H
